\hypertarget{group__config}{}\section{Config}
\label{group__config}\index{Config@{Config}}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{group__config_ga92e0819075bd91dc380cc86a20186960}{C\+H\+P\+R\+I\+N\+T\+F\+\_\+\+U\+S\+E\+\_\+\+F\+L\+O\+A\+T}~T\+R\+U\+E
\item 
\#define \hyperlink{group__config_ga4b0ac77530f0e572b47fb57a00665d1c}{C\+O\+R\+T\+E\+X\+\_\+\+S\+I\+M\+P\+L\+I\+F\+I\+E\+D\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y}~T\+R\+U\+E
\item 
\#define \hyperlink{group__config_ga7eb4a4369c2d2fe0d2f0214ddc56d78a}{P\+O\+R\+T\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+S\+T\+A\+C\+K\+\_\+\+S\+I\+Z\+E}~64
\item 
\#define \hyperlink{group__config_ga05a9c892ced18dda34b086372a0c49ea}{P\+O\+R\+T\+\_\+\+I\+N\+T\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D\+\_\+\+S\+T\+A\+C\+K}~128
\end{DoxyCompactItemize}
\subsection*{Kernel parameters and options}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{group__config_ga195ab8ff3340a18d4513cbaf915078f2}{C\+H\+\_\+\+F\+R\+E\+Q\+U\+E\+N\+C\+Y}~10000
\begin{DoxyCompactList}\small\item\em System tick frequency. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_ga3c6800242611cf244a38c4a870e8515a}{C\+H\+\_\+\+T\+I\+M\+E\+\_\+\+Q\+U\+A\+N\+T\+U\+M}~4
\begin{DoxyCompactList}\small\item\em Round robin interval. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gac73902e3c40b375483f9dde71e83253d}{C\+H\+\_\+\+M\+E\+M\+C\+O\+R\+E\+\_\+\+S\+I\+Z\+E}~0
\begin{DoxyCompactList}\small\item\em Managed R\+A\+M size. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gac7ceed3b75958cb6f7a977aab5ee249f}{C\+H\+\_\+\+N\+O\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D}~F\+A\+L\+S\+E
\begin{DoxyCompactList}\small\item\em Idle thread automatic spawn suppression. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Performance options}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{group__config_gaa5a3d403206b04dfa43ee769e8a220c6}{C\+H\+\_\+\+O\+P\+T\+I\+M\+I\+Z\+E\+\_\+\+S\+P\+E\+E\+D}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em O\+S optimization. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Subsystem options}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{group__config_ga881045654c5c0b04081bf89da3fe4534}{C\+H\+\_\+\+U\+S\+E\+\_\+\+R\+E\+G\+I\+S\+T\+R\+Y}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Threads registry A\+P\+Is. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gac5e6308f66b8fdb57f0c849ed22b3d95}{C\+H\+\_\+\+U\+S\+E\+\_\+\+W\+A\+I\+T\+E\+X\+I\+T}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Threads synchronization A\+P\+Is. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gab88f410fdc6a67192194a8431d991b27}{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Semaphores A\+P\+Is. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_ga866568c0387963f11c078a8d939c2284}{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y}~F\+A\+L\+S\+E
\begin{DoxyCompactList}\small\item\em Semaphores queuing mode. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gae9e6ff0fe1964761ea6e1bce51d8ee59}{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+S\+W}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Atomic semaphore A\+P\+I. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_ga4f461a7b5edbff2405b7b40d2bb238a6}{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+U\+T\+E\+X\+E\+S}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Mutexes A\+P\+Is. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_ga24fd7fe539fd6094b5db3215e1721c9c}{C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Conditional Variables A\+P\+Is. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gaccc2c032c409bced696f75877e270979}{C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Conditional Variables A\+P\+Is with timeout. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_ga5e3ac686cd33ad40a89aaaf97b3dc781}{C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Events Flags A\+P\+Is. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_ga64a6ad752750f42fe2474d3e7f191a71}{C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Events Flags A\+P\+Is with timeout. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_ga3823e336736d522bbfaf780c86746482}{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Synchronous Messages A\+P\+Is. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gaf48947f33ed7a44a7701d84d83d94a1c}{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y}~F\+A\+L\+S\+E
\begin{DoxyCompactList}\small\item\em Synchronous Messages queuing mode. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_ga6cf1736db681617019f96c4c209d2716}{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+I\+L\+B\+O\+X\+E\+S}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Mailboxes A\+P\+Is. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gaabe4bd52d2fd1b180ebba1d1e8243051}{C\+H\+\_\+\+U\+S\+E\+\_\+\+Q\+U\+E\+U\+E\+S}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em I/\+O Queues A\+P\+Is. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gaff85f4d919dac30a337ce2f34e2fa1af}{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+C\+O\+R\+E}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Core Memory Manager A\+P\+Is. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gaaeb266ab6131572f1d8f164bddf2da3f}{C\+H\+\_\+\+U\+S\+E\+\_\+\+H\+E\+A\+P}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Heap Allocator A\+P\+Is. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_ga4785d390f3a787916c5a5c41e953577d}{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+L\+L\+O\+C\+\_\+\+H\+E\+A\+P}~F\+A\+L\+S\+E
\begin{DoxyCompactList}\small\item\em C-\/runtime allocator. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gac456517b37f104d2226fef50310c79f8}{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+P\+O\+O\+L\+S}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Memory Pools Allocator A\+P\+Is. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gaae4996e24bbee7d66528671cec8b8749}{C\+H\+\_\+\+U\+S\+E\+\_\+\+D\+Y\+N\+A\+M\+I\+C}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Dynamic Threads A\+P\+Is. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Debug options}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{group__config_ga10db71bc25605169dddc82c1604b0a16}{C\+H\+\_\+\+D\+B\+G\+\_\+\+S\+Y\+S\+T\+E\+M\+\_\+\+S\+T\+A\+T\+E\+\_\+\+C\+H\+E\+C\+K}~F\+A\+L\+S\+E
\begin{DoxyCompactList}\small\item\em Debug option, system state check. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gaef984ca3bfd8a71478ad55ce6e56a8bb}{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+C\+H\+E\+C\+K\+S}~F\+A\+L\+S\+E
\begin{DoxyCompactList}\small\item\em Debug option, parameters checks. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gad602fd2546073869a10859158d865b9b}{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+A\+S\+S\+E\+R\+T\+S}~F\+A\+L\+S\+E
\begin{DoxyCompactList}\small\item\em Debug option, consistency checks. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_ga8bc4cfd861131aeb3c880347d0068229}{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+T\+R\+A\+C\+E}~F\+A\+L\+S\+E
\begin{DoxyCompactList}\small\item\em Debug option, trace buffer. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gab93d9ee904f15d4f2c26ef2a1394a1d7}{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+S\+T\+A\+C\+K\+\_\+\+C\+H\+E\+C\+K}~F\+A\+L\+S\+E
\begin{DoxyCompactList}\small\item\em Debug option, stack checks. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_ga6a859dd249adfb66b9bbf809061ea06c}{C\+H\+\_\+\+D\+B\+G\+\_\+\+F\+I\+L\+L\+\_\+\+T\+H\+R\+E\+A\+D\+S}~F\+A\+L\+S\+E
\begin{DoxyCompactList}\small\item\em Debug option, stacks initialization. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gadc9c00c2e5b6e766ded8dfa77c0c90c1}{C\+H\+\_\+\+D\+B\+G\+\_\+\+T\+H\+R\+E\+A\+D\+S\+\_\+\+P\+R\+O\+F\+I\+L\+I\+N\+G}~T\+R\+U\+E
\begin{DoxyCompactList}\small\item\em Debug option, threads profiling. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Kernel hooks}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{group__config_gaba26fd717f33330fa56dcc7919a3f02f}{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+F\+I\+E\+L\+D\+S}~/$\ast$ Add threads custom fields here.$\ast$/
\begin{DoxyCompactList}\small\item\em Threads descriptor structure extension. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gaeb57466a9200b8c073ac96a3f1a9c34c}{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+I\+N\+I\+T\+\_\+\+H\+O\+O\+K}(tp)
\begin{DoxyCompactList}\small\item\em Threads initialization hook. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gab8f241a87da52027625c9cc3d8403ebb}{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+E\+X\+I\+T\+\_\+\+H\+O\+O\+K}(tp)
\begin{DoxyCompactList}\small\item\em Threads finalization hook. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gac0317ee1a14709d39aef80ca8980a40a}{T\+H\+R\+E\+A\+D\+\_\+\+C\+O\+N\+T\+E\+X\+T\+\_\+\+S\+W\+I\+T\+C\+H\+\_\+\+H\+O\+O\+K}(ntp,  otp)
\begin{DoxyCompactList}\small\item\em Context switch hook. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_gae52e2c3230a9e87d16befd547c2f92ef}{I\+D\+L\+E\+\_\+\+L\+O\+O\+P\+\_\+\+H\+O\+O\+K}()
\begin{DoxyCompactList}\small\item\em Idle Loop hook. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_ga132e1bd495c4f7c9b92d63b26705dfe1}{S\+Y\+S\+T\+E\+M\+\_\+\+T\+I\+C\+K\+\_\+\+E\+V\+E\+N\+T\+\_\+\+H\+O\+O\+K}()
\begin{DoxyCompactList}\small\item\em System tick event hook. \end{DoxyCompactList}\item 
\#define \hyperlink{group__config_ga71e0932757a8180816104fa313171c9a}{S\+Y\+S\+T\+E\+M\+\_\+\+H\+A\+L\+T\+\_\+\+H\+O\+O\+K}()
\begin{DoxyCompactList}\small\item\em System halt hook. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Kernel related settings and hooks. 

\subsection{Macro Definition Documentation}
\hypertarget{group__config_gad602fd2546073869a10859158d865b9b}{}\index{Config@{Config}!C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+A\+S\+S\+E\+R\+T\+S@{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+A\+S\+S\+E\+R\+T\+S}}
\index{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+A\+S\+S\+E\+R\+T\+S@{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+A\+S\+S\+E\+R\+T\+S}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+A\+S\+S\+E\+R\+T\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+A\+S\+S\+E\+R\+T\+S~F\+A\+L\+S\+E}\label{group__config_gad602fd2546073869a10859158d865b9b}


Debug option, consistency checks. 

If enabled then all the assertions in the kernel code are activated. This includes consistency checks inside the kernel, runtime anomalies and port-\/defined checks.

\begin{DoxyNote}{Note}
The default is {\ttfamily F\+A\+L\+S\+E}. 
\end{DoxyNote}
\hypertarget{group__config_gaef984ca3bfd8a71478ad55ce6e56a8bb}{}\index{Config@{Config}!C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+C\+H\+E\+C\+K\+S@{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+C\+H\+E\+C\+K\+S}}
\index{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+C\+H\+E\+C\+K\+S@{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+C\+H\+E\+C\+K\+S}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+C\+H\+E\+C\+K\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+C\+H\+E\+C\+K\+S~F\+A\+L\+S\+E}\label{group__config_gaef984ca3bfd8a71478ad55ce6e56a8bb}


Debug option, parameters checks. 

If enabled then the checks on the A\+P\+I functions input parameters are activated.

\begin{DoxyNote}{Note}
The default is {\ttfamily F\+A\+L\+S\+E}. 
\end{DoxyNote}
\hypertarget{group__config_gab93d9ee904f15d4f2c26ef2a1394a1d7}{}\index{Config@{Config}!C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+S\+T\+A\+C\+K\+\_\+\+C\+H\+E\+C\+K@{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+S\+T\+A\+C\+K\+\_\+\+C\+H\+E\+C\+K}}
\index{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+S\+T\+A\+C\+K\+\_\+\+C\+H\+E\+C\+K@{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+S\+T\+A\+C\+K\+\_\+\+C\+H\+E\+C\+K}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+S\+T\+A\+C\+K\+\_\+\+C\+H\+E\+C\+K}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+S\+T\+A\+C\+K\+\_\+\+C\+H\+E\+C\+K~F\+A\+L\+S\+E}\label{group__config_gab93d9ee904f15d4f2c26ef2a1394a1d7}


Debug option, stack checks. 

If enabled then a runtime stack check is performed.

\begin{DoxyNote}{Note}
The default is {\ttfamily F\+A\+L\+S\+E}. 

The stack check is performed in a architecture/port dependent way. It may not be implemented or some ports. 

The default failure mode is to halt the system with the global {\ttfamily panic\+\_\+msg} variable set to {\ttfamily N\+U\+L\+L}. 
\end{DoxyNote}
\hypertarget{group__config_ga8bc4cfd861131aeb3c880347d0068229}{}\index{Config@{Config}!C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+T\+R\+A\+C\+E@{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+T\+R\+A\+C\+E}}
\index{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+T\+R\+A\+C\+E@{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+T\+R\+A\+C\+E}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+T\+R\+A\+C\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+D\+B\+G\+\_\+\+E\+N\+A\+B\+L\+E\+\_\+\+T\+R\+A\+C\+E~F\+A\+L\+S\+E}\label{group__config_ga8bc4cfd861131aeb3c880347d0068229}


Debug option, trace buffer. 

If enabled then the context switch circular trace buffer is activated.

\begin{DoxyNote}{Note}
The default is {\ttfamily F\+A\+L\+S\+E}. 
\end{DoxyNote}
\hypertarget{group__config_ga6a859dd249adfb66b9bbf809061ea06c}{}\index{Config@{Config}!C\+H\+\_\+\+D\+B\+G\+\_\+\+F\+I\+L\+L\+\_\+\+T\+H\+R\+E\+A\+D\+S@{C\+H\+\_\+\+D\+B\+G\+\_\+\+F\+I\+L\+L\+\_\+\+T\+H\+R\+E\+A\+D\+S}}
\index{C\+H\+\_\+\+D\+B\+G\+\_\+\+F\+I\+L\+L\+\_\+\+T\+H\+R\+E\+A\+D\+S@{C\+H\+\_\+\+D\+B\+G\+\_\+\+F\+I\+L\+L\+\_\+\+T\+H\+R\+E\+A\+D\+S}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+D\+B\+G\+\_\+\+F\+I\+L\+L\+\_\+\+T\+H\+R\+E\+A\+D\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+D\+B\+G\+\_\+\+F\+I\+L\+L\+\_\+\+T\+H\+R\+E\+A\+D\+S~F\+A\+L\+S\+E}\label{group__config_ga6a859dd249adfb66b9bbf809061ea06c}


Debug option, stacks initialization. 

If enabled then the threads working area is filled with a byte value when a thread is created. This can be useful for the runtime measurement of the used stack.

\begin{DoxyNote}{Note}
The default is {\ttfamily F\+A\+L\+S\+E}. 
\end{DoxyNote}
\hypertarget{group__config_ga10db71bc25605169dddc82c1604b0a16}{}\index{Config@{Config}!C\+H\+\_\+\+D\+B\+G\+\_\+\+S\+Y\+S\+T\+E\+M\+\_\+\+S\+T\+A\+T\+E\+\_\+\+C\+H\+E\+C\+K@{C\+H\+\_\+\+D\+B\+G\+\_\+\+S\+Y\+S\+T\+E\+M\+\_\+\+S\+T\+A\+T\+E\+\_\+\+C\+H\+E\+C\+K}}
\index{C\+H\+\_\+\+D\+B\+G\+\_\+\+S\+Y\+S\+T\+E\+M\+\_\+\+S\+T\+A\+T\+E\+\_\+\+C\+H\+E\+C\+K@{C\+H\+\_\+\+D\+B\+G\+\_\+\+S\+Y\+S\+T\+E\+M\+\_\+\+S\+T\+A\+T\+E\+\_\+\+C\+H\+E\+C\+K}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+D\+B\+G\+\_\+\+S\+Y\+S\+T\+E\+M\+\_\+\+S\+T\+A\+T\+E\+\_\+\+C\+H\+E\+C\+K}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+D\+B\+G\+\_\+\+S\+Y\+S\+T\+E\+M\+\_\+\+S\+T\+A\+T\+E\+\_\+\+C\+H\+E\+C\+K~F\+A\+L\+S\+E}\label{group__config_ga10db71bc25605169dddc82c1604b0a16}


Debug option, system state check. 

If enabled the correct call protocol for system A\+P\+Is is checked at runtime.

\begin{DoxyNote}{Note}
The default is {\ttfamily F\+A\+L\+S\+E}. 
\end{DoxyNote}
\hypertarget{group__config_gadc9c00c2e5b6e766ded8dfa77c0c90c1}{}\index{Config@{Config}!C\+H\+\_\+\+D\+B\+G\+\_\+\+T\+H\+R\+E\+A\+D\+S\+\_\+\+P\+R\+O\+F\+I\+L\+I\+N\+G@{C\+H\+\_\+\+D\+B\+G\+\_\+\+T\+H\+R\+E\+A\+D\+S\+\_\+\+P\+R\+O\+F\+I\+L\+I\+N\+G}}
\index{C\+H\+\_\+\+D\+B\+G\+\_\+\+T\+H\+R\+E\+A\+D\+S\+\_\+\+P\+R\+O\+F\+I\+L\+I\+N\+G@{C\+H\+\_\+\+D\+B\+G\+\_\+\+T\+H\+R\+E\+A\+D\+S\+\_\+\+P\+R\+O\+F\+I\+L\+I\+N\+G}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+D\+B\+G\+\_\+\+T\+H\+R\+E\+A\+D\+S\+\_\+\+P\+R\+O\+F\+I\+L\+I\+N\+G}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+D\+B\+G\+\_\+\+T\+H\+R\+E\+A\+D\+S\+\_\+\+P\+R\+O\+F\+I\+L\+I\+N\+G~T\+R\+U\+E}\label{group__config_gadc9c00c2e5b6e766ded8dfa77c0c90c1}


Debug option, threads profiling. 

If enabled then a field is added to the {\ttfamily Thread} structure that counts the system ticks occurred while executing the thread.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 

This debug option is defaulted to T\+R\+U\+E because it is required by some test cases into the test suite. 
\end{DoxyNote}
\hypertarget{group__config_ga195ab8ff3340a18d4513cbaf915078f2}{}\index{Config@{Config}!C\+H\+\_\+\+F\+R\+E\+Q\+U\+E\+N\+C\+Y@{C\+H\+\_\+\+F\+R\+E\+Q\+U\+E\+N\+C\+Y}}
\index{C\+H\+\_\+\+F\+R\+E\+Q\+U\+E\+N\+C\+Y@{C\+H\+\_\+\+F\+R\+E\+Q\+U\+E\+N\+C\+Y}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+F\+R\+E\+Q\+U\+E\+N\+C\+Y}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+F\+R\+E\+Q\+U\+E\+N\+C\+Y~10000}\label{group__config_ga195ab8ff3340a18d4513cbaf915078f2}


System tick frequency. 

Frequency of the system timer that drives the system ticks. This setting also defines the system tick time unit. \hypertarget{group__config_gac73902e3c40b375483f9dde71e83253d}{}\index{Config@{Config}!C\+H\+\_\+\+M\+E\+M\+C\+O\+R\+E\+\_\+\+S\+I\+Z\+E@{C\+H\+\_\+\+M\+E\+M\+C\+O\+R\+E\+\_\+\+S\+I\+Z\+E}}
\index{C\+H\+\_\+\+M\+E\+M\+C\+O\+R\+E\+\_\+\+S\+I\+Z\+E@{C\+H\+\_\+\+M\+E\+M\+C\+O\+R\+E\+\_\+\+S\+I\+Z\+E}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+M\+E\+M\+C\+O\+R\+E\+\_\+\+S\+I\+Z\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+M\+E\+M\+C\+O\+R\+E\+\_\+\+S\+I\+Z\+E~0}\label{group__config_gac73902e3c40b375483f9dde71e83253d}


Managed R\+A\+M size. 

Size of the R\+A\+M area to be managed by the O\+S. If set to zero then the whole available R\+A\+M is used. The core memory is made available to the heap allocator and/or can be used directly through the simplified core memory allocator.

\begin{DoxyNote}{Note}
In order to let the O\+S manage the whole R\+A\+M the linker script must provide the {\ttfamily {\bfseries heap\+\_\+base}} and {\ttfamily {\bfseries heap\+\_\+end}} symbols. 

Requires {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+C\+O\+R\+E}. 
\end{DoxyNote}
\hypertarget{group__config_gac7ceed3b75958cb6f7a977aab5ee249f}{}\index{Config@{Config}!C\+H\+\_\+\+N\+O\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D@{C\+H\+\_\+\+N\+O\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D}}
\index{C\+H\+\_\+\+N\+O\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D@{C\+H\+\_\+\+N\+O\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+N\+O\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+N\+O\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D~F\+A\+L\+S\+E}\label{group__config_gac7ceed3b75958cb6f7a977aab5ee249f}


Idle thread automatic spawn suppression. 

When this option is activated the function {\ttfamily ch\+Sys\+Init()} does not spawn the idle thread automatically. The application has then the responsibility to do one of the following\+:
\begin{DoxyItemize}
\item Spawn a custom idle thread at priority {\ttfamily I\+D\+L\+E\+P\+R\+I\+O}.
\item Change the \hyperlink{main_8c_a840291bc02cba5474a4cb46a9b9566fe}{main()} thread priority to {\ttfamily I\+D\+L\+E\+P\+R\+I\+O} then enter an endless loop. In this scenario the {\ttfamily \hyperlink{main_8c_a840291bc02cba5474a4cb46a9b9566fe}{main()}} thread acts as the idle thread.
\end{DoxyItemize}\begin{DoxyNote}{Note}
Unless an idle thread is spawned the {\ttfamily \hyperlink{main_8c_a840291bc02cba5474a4cb46a9b9566fe}{main()}} thread must not enter a sleep state. 
\end{DoxyNote}
\hypertarget{group__config_gaa5a3d403206b04dfa43ee769e8a220c6}{}\index{Config@{Config}!C\+H\+\_\+\+O\+P\+T\+I\+M\+I\+Z\+E\+\_\+\+S\+P\+E\+E\+D@{C\+H\+\_\+\+O\+P\+T\+I\+M\+I\+Z\+E\+\_\+\+S\+P\+E\+E\+D}}
\index{C\+H\+\_\+\+O\+P\+T\+I\+M\+I\+Z\+E\+\_\+\+S\+P\+E\+E\+D@{C\+H\+\_\+\+O\+P\+T\+I\+M\+I\+Z\+E\+\_\+\+S\+P\+E\+E\+D}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+O\+P\+T\+I\+M\+I\+Z\+E\+\_\+\+S\+P\+E\+E\+D}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+O\+P\+T\+I\+M\+I\+Z\+E\+\_\+\+S\+P\+E\+E\+D~T\+R\+U\+E}\label{group__config_gaa5a3d403206b04dfa43ee769e8a220c6}


O\+S optimization. 

If enabled then time efficient rather than space efficient code is used when two possible implementations exist.

\begin{DoxyNote}{Note}
This is not related to the compiler optimization options. 

The default is {\ttfamily T\+R\+U\+E}. 
\end{DoxyNote}
\hypertarget{group__config_ga3c6800242611cf244a38c4a870e8515a}{}\index{Config@{Config}!C\+H\+\_\+\+T\+I\+M\+E\+\_\+\+Q\+U\+A\+N\+T\+U\+M@{C\+H\+\_\+\+T\+I\+M\+E\+\_\+\+Q\+U\+A\+N\+T\+U\+M}}
\index{C\+H\+\_\+\+T\+I\+M\+E\+\_\+\+Q\+U\+A\+N\+T\+U\+M@{C\+H\+\_\+\+T\+I\+M\+E\+\_\+\+Q\+U\+A\+N\+T\+U\+M}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+T\+I\+M\+E\+\_\+\+Q\+U\+A\+N\+T\+U\+M}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+T\+I\+M\+E\+\_\+\+Q\+U\+A\+N\+T\+U\+M~4}\label{group__config_ga3c6800242611cf244a38c4a870e8515a}


Round robin interval. 

This constant is the number of system ticks allowed for the threads before preemption occurs. Setting this value to zero disables the preemption for threads with equal priority and the round robin becomes cooperative. Note that higher priority threads can still preempt, the kernel is always preemptive.

\begin{DoxyNote}{Note}
Disabling the round robin preemption makes the kernel more compact and generally faster. 
\end{DoxyNote}
\hypertarget{group__config_ga24fd7fe539fd6094b5db3215e1721c9c}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S~T\+R\+U\+E}\label{group__config_ga24fd7fe539fd6094b5db3215e1721c9c}


Conditional Variables A\+P\+Is. 

If enabled then the conditional variables A\+P\+Is are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 

Requires {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+U\+T\+E\+X\+E\+S}. 
\end{DoxyNote}
\hypertarget{group__config_gaccc2c032c409bced696f75877e270979}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T@{C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T@{C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T~T\+R\+U\+E}\label{group__config_gaccc2c032c409bced696f75877e270979}


Conditional Variables A\+P\+Is with timeout. 

If enabled then the conditional variables A\+P\+Is with timeout specification are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 

Requires {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+C\+O\+N\+D\+V\+A\+R\+S}. 
\end{DoxyNote}
\hypertarget{group__config_gaae4996e24bbee7d66528671cec8b8749}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+D\+Y\+N\+A\+M\+I\+C@{C\+H\+\_\+\+U\+S\+E\+\_\+\+D\+Y\+N\+A\+M\+I\+C}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+D\+Y\+N\+A\+M\+I\+C@{C\+H\+\_\+\+U\+S\+E\+\_\+\+D\+Y\+N\+A\+M\+I\+C}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+D\+Y\+N\+A\+M\+I\+C}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+D\+Y\+N\+A\+M\+I\+C~T\+R\+U\+E}\label{group__config_gaae4996e24bbee7d66528671cec8b8749}


Dynamic Threads A\+P\+Is. 

If enabled then the dynamic threads creation A\+P\+Is are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 

Requires {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+W\+A\+I\+T\+E\+X\+I\+T}. 

Requires {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+H\+E\+A\+P} and/or {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+P\+O\+O\+L\+S}. 
\end{DoxyNote}
\hypertarget{group__config_ga5e3ac686cd33ad40a89aaaf97b3dc781}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S~T\+R\+U\+E}\label{group__config_ga5e3ac686cd33ad40a89aaaf97b3dc781}


Events Flags A\+P\+Is. 

If enabled then the event flags A\+P\+Is are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 
\end{DoxyNote}
\hypertarget{group__config_ga64a6ad752750f42fe2474d3e7f191a71}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T@{C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T@{C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S\+\_\+\+T\+I\+M\+E\+O\+U\+T~T\+R\+U\+E}\label{group__config_ga64a6ad752750f42fe2474d3e7f191a71}


Events Flags A\+P\+Is with timeout. 

If enabled then the events A\+P\+Is with timeout specification are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 

Requires {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+E\+V\+E\+N\+T\+S}. 
\end{DoxyNote}
\hypertarget{group__config_gaaeb266ab6131572f1d8f164bddf2da3f}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+H\+E\+A\+P@{C\+H\+\_\+\+U\+S\+E\+\_\+\+H\+E\+A\+P}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+H\+E\+A\+P@{C\+H\+\_\+\+U\+S\+E\+\_\+\+H\+E\+A\+P}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+H\+E\+A\+P}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+H\+E\+A\+P~T\+R\+U\+E}\label{group__config_gaaeb266ab6131572f1d8f164bddf2da3f}


Heap Allocator A\+P\+Is. 

If enabled then the memory heap allocator A\+P\+Is are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 

Requires {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+C\+O\+R\+E} and either {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+U\+T\+E\+X\+E\+S} or {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S}. 

Mutexes are recommended. 
\end{DoxyNote}
\hypertarget{group__config_ga6cf1736db681617019f96c4c209d2716}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+I\+L\+B\+O\+X\+E\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+I\+L\+B\+O\+X\+E\+S}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+I\+L\+B\+O\+X\+E\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+I\+L\+B\+O\+X\+E\+S}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+I\+L\+B\+O\+X\+E\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+I\+L\+B\+O\+X\+E\+S~T\+R\+U\+E}\label{group__config_ga6cf1736db681617019f96c4c209d2716}


Mailboxes A\+P\+Is. 

If enabled then the asynchronous messages (mailboxes) A\+P\+Is are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 

Requires {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S}. 
\end{DoxyNote}
\hypertarget{group__config_ga4785d390f3a787916c5a5c41e953577d}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+L\+L\+O\+C\+\_\+\+H\+E\+A\+P@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+L\+L\+O\+C\+\_\+\+H\+E\+A\+P}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+L\+L\+O\+C\+\_\+\+H\+E\+A\+P@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+L\+L\+O\+C\+\_\+\+H\+E\+A\+P}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+L\+L\+O\+C\+\_\+\+H\+E\+A\+P}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+A\+L\+L\+O\+C\+\_\+\+H\+E\+A\+P~F\+A\+L\+S\+E}\label{group__config_ga4785d390f3a787916c5a5c41e953577d}


C-\/runtime allocator. 

If enabled the the heap allocator A\+P\+Is just wrap the C-\/runtime {\ttfamily malloc()} and {\ttfamily free()} functions.

\begin{DoxyNote}{Note}
The default is {\ttfamily F\+A\+L\+S\+E}. 

Requires {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+H\+E\+A\+P}. 

The C-\/runtime may or may not require {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+C\+O\+R\+E}, see the appropriate documentation. 
\end{DoxyNote}
\hypertarget{group__config_gaff85f4d919dac30a337ce2f34e2fa1af}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+C\+O\+R\+E@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+C\+O\+R\+E}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+C\+O\+R\+E@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+C\+O\+R\+E}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+C\+O\+R\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+C\+O\+R\+E~T\+R\+U\+E}\label{group__config_gaff85f4d919dac30a337ce2f34e2fa1af}


Core Memory Manager A\+P\+Is. 

If enabled then the core memory manager A\+P\+Is are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 
\end{DoxyNote}
\hypertarget{group__config_gac456517b37f104d2226fef50310c79f8}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+P\+O\+O\+L\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+P\+O\+O\+L\+S}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+P\+O\+O\+L\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+P\+O\+O\+L\+S}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+P\+O\+O\+L\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+M\+P\+O\+O\+L\+S~T\+R\+U\+E}\label{group__config_gac456517b37f104d2226fef50310c79f8}


Memory Pools Allocator A\+P\+Is. 

If enabled then the memory pools allocator A\+P\+Is are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 
\end{DoxyNote}
\hypertarget{group__config_ga3823e336736d522bbfaf780c86746482}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S~T\+R\+U\+E}\label{group__config_ga3823e336736d522bbfaf780c86746482}


Synchronous Messages A\+P\+Is. 

If enabled then the synchronous messages A\+P\+Is are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 
\end{DoxyNote}
\hypertarget{group__config_gaf48947f33ed7a44a7701d84d83d94a1c}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y~F\+A\+L\+S\+E}\label{group__config_gaf48947f33ed7a44a7701d84d83d94a1c}


Synchronous Messages queuing mode. 

If enabled then messages are served by priority rather than in F\+I\+F\+O order.

\begin{DoxyNote}{Note}
The default is {\ttfamily F\+A\+L\+S\+E}. Enable this if you have special requirements. 

Requires {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+E\+S\+S\+A\+G\+E\+S}. 
\end{DoxyNote}
\hypertarget{group__config_ga4f461a7b5edbff2405b7b40d2bb238a6}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+U\+T\+E\+X\+E\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+U\+T\+E\+X\+E\+S}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+U\+T\+E\+X\+E\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+U\+T\+E\+X\+E\+S}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+U\+T\+E\+X\+E\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+M\+U\+T\+E\+X\+E\+S~T\+R\+U\+E}\label{group__config_ga4f461a7b5edbff2405b7b40d2bb238a6}


Mutexes A\+P\+Is. 

If enabled then the mutexes A\+P\+Is are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 
\end{DoxyNote}
\hypertarget{group__config_gaabe4bd52d2fd1b180ebba1d1e8243051}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+Q\+U\+E\+U\+E\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+Q\+U\+E\+U\+E\+S}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+Q\+U\+E\+U\+E\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+Q\+U\+E\+U\+E\+S}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+Q\+U\+E\+U\+E\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+Q\+U\+E\+U\+E\+S~T\+R\+U\+E}\label{group__config_gaabe4bd52d2fd1b180ebba1d1e8243051}


I/\+O Queues A\+P\+Is. 

If enabled then the I/\+O queues A\+P\+Is are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 
\end{DoxyNote}
\hypertarget{group__config_ga881045654c5c0b04081bf89da3fe4534}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+R\+E\+G\+I\+S\+T\+R\+Y@{C\+H\+\_\+\+U\+S\+E\+\_\+\+R\+E\+G\+I\+S\+T\+R\+Y}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+R\+E\+G\+I\+S\+T\+R\+Y@{C\+H\+\_\+\+U\+S\+E\+\_\+\+R\+E\+G\+I\+S\+T\+R\+Y}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+R\+E\+G\+I\+S\+T\+R\+Y}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+R\+E\+G\+I\+S\+T\+R\+Y~T\+R\+U\+E}\label{group__config_ga881045654c5c0b04081bf89da3fe4534}


Threads registry A\+P\+Is. 

If enabled then the registry A\+P\+Is are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 
\end{DoxyNote}
\hypertarget{group__config_gab88f410fdc6a67192194a8431d991b27}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S@{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S~T\+R\+U\+E}\label{group__config_gab88f410fdc6a67192194a8431d991b27}


Semaphores A\+P\+Is. 

If enabled then the Semaphores A\+P\+Is are included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 
\end{DoxyNote}
\hypertarget{group__config_ga866568c0387963f11c078a8d939c2284}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y@{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y@{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y~F\+A\+L\+S\+E}\label{group__config_ga866568c0387963f11c078a8d939c2284}


Semaphores queuing mode. 

If enabled then the threads are enqueued on semaphores by priority rather than in F\+I\+F\+O order.

\begin{DoxyNote}{Note}
The default is {\ttfamily F\+A\+L\+S\+E}. Enable this if you have special requirements. 

Requires {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S}. 
\end{DoxyNote}
\hypertarget{group__config_gae9e6ff0fe1964761ea6e1bce51d8ee59}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+S\+W@{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+S\+W}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+S\+W@{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+S\+W}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+S\+W}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+S\+W~T\+R\+U\+E}\label{group__config_gae9e6ff0fe1964761ea6e1bce51d8ee59}


Atomic semaphore A\+P\+I. 

If enabled then the semaphores the {\ttfamily ch\+Sem\+Signal\+Wait()} A\+P\+I is included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 

Requires {\ttfamily C\+H\+\_\+\+U\+S\+E\+\_\+\+S\+E\+M\+A\+P\+H\+O\+R\+E\+S}. 
\end{DoxyNote}
\hypertarget{group__config_gac5e6308f66b8fdb57f0c849ed22b3d95}{}\index{Config@{Config}!C\+H\+\_\+\+U\+S\+E\+\_\+\+W\+A\+I\+T\+E\+X\+I\+T@{C\+H\+\_\+\+U\+S\+E\+\_\+\+W\+A\+I\+T\+E\+X\+I\+T}}
\index{C\+H\+\_\+\+U\+S\+E\+\_\+\+W\+A\+I\+T\+E\+X\+I\+T@{C\+H\+\_\+\+U\+S\+E\+\_\+\+W\+A\+I\+T\+E\+X\+I\+T}!Config@{Config}}
\subsubsection[{C\+H\+\_\+\+U\+S\+E\+\_\+\+W\+A\+I\+T\+E\+X\+I\+T}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+\_\+\+U\+S\+E\+\_\+\+W\+A\+I\+T\+E\+X\+I\+T~T\+R\+U\+E}\label{group__config_gac5e6308f66b8fdb57f0c849ed22b3d95}


Threads synchronization A\+P\+Is. 

If enabled then the {\ttfamily ch\+Thd\+Wait()} function is included in the kernel.

\begin{DoxyNote}{Note}
The default is {\ttfamily T\+R\+U\+E}. 
\end{DoxyNote}
\hypertarget{group__config_ga92e0819075bd91dc380cc86a20186960}{}\index{Config@{Config}!C\+H\+P\+R\+I\+N\+T\+F\+\_\+\+U\+S\+E\+\_\+\+F\+L\+O\+A\+T@{C\+H\+P\+R\+I\+N\+T\+F\+\_\+\+U\+S\+E\+\_\+\+F\+L\+O\+A\+T}}
\index{C\+H\+P\+R\+I\+N\+T\+F\+\_\+\+U\+S\+E\+\_\+\+F\+L\+O\+A\+T@{C\+H\+P\+R\+I\+N\+T\+F\+\_\+\+U\+S\+E\+\_\+\+F\+L\+O\+A\+T}!Config@{Config}}
\subsubsection[{C\+H\+P\+R\+I\+N\+T\+F\+\_\+\+U\+S\+E\+\_\+\+F\+L\+O\+A\+T}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+H\+P\+R\+I\+N\+T\+F\+\_\+\+U\+S\+E\+\_\+\+F\+L\+O\+A\+T~T\+R\+U\+E}\label{group__config_ga92e0819075bd91dc380cc86a20186960}
\hypertarget{group__config_ga4b0ac77530f0e572b47fb57a00665d1c}{}\index{Config@{Config}!C\+O\+R\+T\+E\+X\+\_\+\+S\+I\+M\+P\+L\+I\+F\+I\+E\+D\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y@{C\+O\+R\+T\+E\+X\+\_\+\+S\+I\+M\+P\+L\+I\+F\+I\+E\+D\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y}}
\index{C\+O\+R\+T\+E\+X\+\_\+\+S\+I\+M\+P\+L\+I\+F\+I\+E\+D\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y@{C\+O\+R\+T\+E\+X\+\_\+\+S\+I\+M\+P\+L\+I\+F\+I\+E\+D\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y}!Config@{Config}}
\subsubsection[{C\+O\+R\+T\+E\+X\+\_\+\+S\+I\+M\+P\+L\+I\+F\+I\+E\+D\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y}]{\setlength{\rightskip}{0pt plus 5cm}\#define C\+O\+R\+T\+E\+X\+\_\+\+S\+I\+M\+P\+L\+I\+F\+I\+E\+D\+\_\+\+P\+R\+I\+O\+R\+I\+T\+Y~T\+R\+U\+E}\label{group__config_ga4b0ac77530f0e572b47fb57a00665d1c}
\hypertarget{group__config_gae52e2c3230a9e87d16befd547c2f92ef}{}\index{Config@{Config}!I\+D\+L\+E\+\_\+\+L\+O\+O\+P\+\_\+\+H\+O\+O\+K@{I\+D\+L\+E\+\_\+\+L\+O\+O\+P\+\_\+\+H\+O\+O\+K}}
\index{I\+D\+L\+E\+\_\+\+L\+O\+O\+P\+\_\+\+H\+O\+O\+K@{I\+D\+L\+E\+\_\+\+L\+O\+O\+P\+\_\+\+H\+O\+O\+K}!Config@{Config}}
\subsubsection[{I\+D\+L\+E\+\_\+\+L\+O\+O\+P\+\_\+\+H\+O\+O\+K}]{\setlength{\rightskip}{0pt plus 5cm}\#define I\+D\+L\+E\+\_\+\+L\+O\+O\+P\+\_\+\+H\+O\+O\+K(
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{group__config_gae52e2c3230a9e87d16befd547c2f92ef}
{\bfseries Value\+:}
\begin{DoxyCode}
\{                                                  \(\backslash\)
  \textcolor{comment}{/* Idle loop code here.*/}                                                 \(\backslash\)
\}
\end{DoxyCode}


Idle Loop hook. 

This hook is continuously invoked by the idle thread loop. \hypertarget{group__config_ga7eb4a4369c2d2fe0d2f0214ddc56d78a}{}\index{Config@{Config}!P\+O\+R\+T\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+S\+T\+A\+C\+K\+\_\+\+S\+I\+Z\+E@{P\+O\+R\+T\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+S\+T\+A\+C\+K\+\_\+\+S\+I\+Z\+E}}
\index{P\+O\+R\+T\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+S\+T\+A\+C\+K\+\_\+\+S\+I\+Z\+E@{P\+O\+R\+T\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+S\+T\+A\+C\+K\+\_\+\+S\+I\+Z\+E}!Config@{Config}}
\subsubsection[{P\+O\+R\+T\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+S\+T\+A\+C\+K\+\_\+\+S\+I\+Z\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define P\+O\+R\+T\+\_\+\+I\+D\+L\+E\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+S\+T\+A\+C\+K\+\_\+\+S\+I\+Z\+E~64}\label{group__config_ga7eb4a4369c2d2fe0d2f0214ddc56d78a}
\hypertarget{group__config_ga05a9c892ced18dda34b086372a0c49ea}{}\index{Config@{Config}!P\+O\+R\+T\+\_\+\+I\+N\+T\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D\+\_\+\+S\+T\+A\+C\+K@{P\+O\+R\+T\+\_\+\+I\+N\+T\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D\+\_\+\+S\+T\+A\+C\+K}}
\index{P\+O\+R\+T\+\_\+\+I\+N\+T\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D\+\_\+\+S\+T\+A\+C\+K@{P\+O\+R\+T\+\_\+\+I\+N\+T\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D\+\_\+\+S\+T\+A\+C\+K}!Config@{Config}}
\subsubsection[{P\+O\+R\+T\+\_\+\+I\+N\+T\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D\+\_\+\+S\+T\+A\+C\+K}]{\setlength{\rightskip}{0pt plus 5cm}\#define P\+O\+R\+T\+\_\+\+I\+N\+T\+\_\+\+R\+E\+Q\+U\+I\+R\+E\+D\+\_\+\+S\+T\+A\+C\+K~128}\label{group__config_ga05a9c892ced18dda34b086372a0c49ea}
\hypertarget{group__config_ga71e0932757a8180816104fa313171c9a}{}\index{Config@{Config}!S\+Y\+S\+T\+E\+M\+\_\+\+H\+A\+L\+T\+\_\+\+H\+O\+O\+K@{S\+Y\+S\+T\+E\+M\+\_\+\+H\+A\+L\+T\+\_\+\+H\+O\+O\+K}}
\index{S\+Y\+S\+T\+E\+M\+\_\+\+H\+A\+L\+T\+\_\+\+H\+O\+O\+K@{S\+Y\+S\+T\+E\+M\+\_\+\+H\+A\+L\+T\+\_\+\+H\+O\+O\+K}!Config@{Config}}
\subsubsection[{S\+Y\+S\+T\+E\+M\+\_\+\+H\+A\+L\+T\+\_\+\+H\+O\+O\+K}]{\setlength{\rightskip}{0pt plus 5cm}\#define S\+Y\+S\+T\+E\+M\+\_\+\+H\+A\+L\+T\+\_\+\+H\+O\+O\+K(
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{group__config_ga71e0932757a8180816104fa313171c9a}
{\bfseries Value\+:}
\begin{DoxyCode}
\{                                                \(\backslash\)
  \textcolor{comment}{/* System halt code here.*/}                                               \(\backslash\)
\}
\end{DoxyCode}


System halt hook. 

This hook is invoked in case to a system halting error before the system is halted. \hypertarget{group__config_ga132e1bd495c4f7c9b92d63b26705dfe1}{}\index{Config@{Config}!S\+Y\+S\+T\+E\+M\+\_\+\+T\+I\+C\+K\+\_\+\+E\+V\+E\+N\+T\+\_\+\+H\+O\+O\+K@{S\+Y\+S\+T\+E\+M\+\_\+\+T\+I\+C\+K\+\_\+\+E\+V\+E\+N\+T\+\_\+\+H\+O\+O\+K}}
\index{S\+Y\+S\+T\+E\+M\+\_\+\+T\+I\+C\+K\+\_\+\+E\+V\+E\+N\+T\+\_\+\+H\+O\+O\+K@{S\+Y\+S\+T\+E\+M\+\_\+\+T\+I\+C\+K\+\_\+\+E\+V\+E\+N\+T\+\_\+\+H\+O\+O\+K}!Config@{Config}}
\subsubsection[{S\+Y\+S\+T\+E\+M\+\_\+\+T\+I\+C\+K\+\_\+\+E\+V\+E\+N\+T\+\_\+\+H\+O\+O\+K}]{\setlength{\rightskip}{0pt plus 5cm}\#define S\+Y\+S\+T\+E\+M\+\_\+\+T\+I\+C\+K\+\_\+\+E\+V\+E\+N\+T\+\_\+\+H\+O\+O\+K(
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{group__config_ga132e1bd495c4f7c9b92d63b26705dfe1}
{\bfseries Value\+:}
\begin{DoxyCode}
\{                                          \(\backslash\)
  \textcolor{comment}{/* System tick event code here.*/}                                         \(\backslash\)
\}
\end{DoxyCode}


System tick event hook. 

This hook is invoked in the system tick handler immediately after processing the virtual timers queue. \hypertarget{group__config_gac0317ee1a14709d39aef80ca8980a40a}{}\index{Config@{Config}!T\+H\+R\+E\+A\+D\+\_\+\+C\+O\+N\+T\+E\+X\+T\+\_\+\+S\+W\+I\+T\+C\+H\+\_\+\+H\+O\+O\+K@{T\+H\+R\+E\+A\+D\+\_\+\+C\+O\+N\+T\+E\+X\+T\+\_\+\+S\+W\+I\+T\+C\+H\+\_\+\+H\+O\+O\+K}}
\index{T\+H\+R\+E\+A\+D\+\_\+\+C\+O\+N\+T\+E\+X\+T\+\_\+\+S\+W\+I\+T\+C\+H\+\_\+\+H\+O\+O\+K@{T\+H\+R\+E\+A\+D\+\_\+\+C\+O\+N\+T\+E\+X\+T\+\_\+\+S\+W\+I\+T\+C\+H\+\_\+\+H\+O\+O\+K}!Config@{Config}}
\subsubsection[{T\+H\+R\+E\+A\+D\+\_\+\+C\+O\+N\+T\+E\+X\+T\+\_\+\+S\+W\+I\+T\+C\+H\+\_\+\+H\+O\+O\+K}]{\setlength{\rightskip}{0pt plus 5cm}\#define T\+H\+R\+E\+A\+D\+\_\+\+C\+O\+N\+T\+E\+X\+T\+\_\+\+S\+W\+I\+T\+C\+H\+\_\+\+H\+O\+O\+K(
\begin{DoxyParamCaption}
\item[{}]{ntp, }
\item[{}]{otp}
\end{DoxyParamCaption}
)}\label{group__config_gac0317ee1a14709d39aef80ca8980a40a}
{\bfseries Value\+:}
\begin{DoxyCode}
\{                              \(\backslash\)
  \textcolor{comment}{/* System halt code here.*/}                                               \(\backslash\)
\}
\end{DoxyCode}


Context switch hook. 

This hook is invoked just before switching between threads. \hypertarget{group__config_gab8f241a87da52027625c9cc3d8403ebb}{}\index{Config@{Config}!T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+E\+X\+I\+T\+\_\+\+H\+O\+O\+K@{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+E\+X\+I\+T\+\_\+\+H\+O\+O\+K}}
\index{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+E\+X\+I\+T\+\_\+\+H\+O\+O\+K@{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+E\+X\+I\+T\+\_\+\+H\+O\+O\+K}!Config@{Config}}
\subsubsection[{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+E\+X\+I\+T\+\_\+\+H\+O\+O\+K}]{\setlength{\rightskip}{0pt plus 5cm}\#define T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+E\+X\+I\+T\+\_\+\+H\+O\+O\+K(
\begin{DoxyParamCaption}
\item[{}]{tp}
\end{DoxyParamCaption}
)}\label{group__config_gab8f241a87da52027625c9cc3d8403ebb}
{\bfseries Value\+:}
\begin{DoxyCode}
\{                                          \(\backslash\)
  \textcolor{comment}{/* Add threads finalization code here.*/}                                  \(\backslash\)
\}
\end{DoxyCode}


Threads finalization hook. 

User finalization code added to the {\ttfamily ch\+Thd\+Exit()} A\+P\+I.

\begin{DoxyNote}{Note}
It is inserted into lock zone. 

It is also invoked when the threads simply return in order to terminate. 
\end{DoxyNote}
\hypertarget{group__config_gaba26fd717f33330fa56dcc7919a3f02f}{}\index{Config@{Config}!T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+F\+I\+E\+L\+D\+S@{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+F\+I\+E\+L\+D\+S}}
\index{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+F\+I\+E\+L\+D\+S@{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+F\+I\+E\+L\+D\+S}!Config@{Config}}
\subsubsection[{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+F\+I\+E\+L\+D\+S}]{\setlength{\rightskip}{0pt plus 5cm}\#define T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+F\+I\+E\+L\+D\+S~/$\ast$ Add threads custom fields here.$\ast$/}\label{group__config_gaba26fd717f33330fa56dcc7919a3f02f}


Threads descriptor structure extension. 

User fields added to the end of the {\ttfamily Thread} structure. \hypertarget{group__config_gaeb57466a9200b8c073ac96a3f1a9c34c}{}\index{Config@{Config}!T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+I\+N\+I\+T\+\_\+\+H\+O\+O\+K@{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+I\+N\+I\+T\+\_\+\+H\+O\+O\+K}}
\index{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+I\+N\+I\+T\+\_\+\+H\+O\+O\+K@{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+I\+N\+I\+T\+\_\+\+H\+O\+O\+K}!Config@{Config}}
\subsubsection[{T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+I\+N\+I\+T\+\_\+\+H\+O\+O\+K}]{\setlength{\rightskip}{0pt plus 5cm}\#define T\+H\+R\+E\+A\+D\+\_\+\+E\+X\+T\+\_\+\+I\+N\+I\+T\+\_\+\+H\+O\+O\+K(
\begin{DoxyParamCaption}
\item[{}]{tp}
\end{DoxyParamCaption}
)}\label{group__config_gaeb57466a9200b8c073ac96a3f1a9c34c}
{\bfseries Value\+:}
\begin{DoxyCode}
\{                                          \(\backslash\)
  \textcolor{comment}{/* Add threads initialization code here.*/}                                \(\backslash\)
\}
\end{DoxyCode}


Threads initialization hook. 

User initialization code added to the {\ttfamily ch\+Thd\+Init()} A\+P\+I.

\begin{DoxyNote}{Note}
It is invoked from within {\ttfamily ch\+Thd\+Init()} and implicitly from all the threads creation A\+P\+Is. 
\end{DoxyNote}
